import java.util.HashMap;

public class code1 {
//    力扣 150 同构字符串
public boolean isIsomorphic(String s, String t) {
    // 针对这道题目，需要的是两个字符串在格式上要有一一对应的关系
    // 比如：
    // add
    // egg  (这两个都是 ABB 格式)
    // 也就是说，在同一下标上所对应的参数是相同的！！！
    // 具体思路就是可以设计两个哈希表分别存储自身以及和自身相对的位置上的参数信息

    HashMap<Character,Character> sMap = new HashMap<>();
    HashMap<Character,Character> tMap = new HashMap<>();
    // 在这里要能够实现一一对应，也就是说这里的两个字符串长度是相同的
    // 所以在这里，只要获取一个元素的长度即可
    int len = s.length();

    for(int i=0; i < len; i++) {
        char x = s.charAt(i);
        char y = t.charAt(i);

        // 在将新元素插入之前在这需要进行一下简单的判断
        // 判断当前位置的 key 是否存在，判断当前 key 对应的 value 值是否和之前存储的 y 字符串相同位置对应
        if((sMap.containsKey(x) && sMap.get(x) != y) || tMap.containsKey(y) && tMap.get(y) != x) {
            return false;
        }

        // 当然在没有对应关系时插入即可
        sMap.put(x, y);
        tMap.put(y, x);
    }
    return true;
}
}
